for i in range(1, 4):
    for j in range(1, 5):
        print('*', end='')
    print() # 换行

print('--------------------------')

for i in range(1, 6):
    for j in range(1, i+1): # *的个数与行数相同
        print('*', end='')
    print() # 换行

print('--------------------------')

for i in range(1, 6):
    for j in range(1, 7-i):
        print('*', end='')
    print() # 换行

print('--------------------------')

for i in range(1, 6):
    for j in range(1, 7-i):
        print(' ', end='')
    for k in range(1, i*2):
        print('*', end='')
    print() # 换行

print('--------------------------')

row=eval(input('请输入菱形的行数:'))
top_row=(row+1)//2
bottom_row = row//2

for i in range(1, top_row+1):
    for j in range(1, top_row+1-i):
        print(' ', end='')
    for k in range(1, i*2):
        print('*', end='')
    print() # 换行

for i in range(1, bottom_row+1):
    for j in range(1, i+1):
        print(' ', end='')
    for k in range(1, 2*bottom_row-2*i+2):
        print('*', end='')
    print()


for i in range(1, top_row+1):
    for j in range(1, top_row+1-i):
        print(' ', end='')
    for k in range(1, i*2):
        if k==1 or k==i*2-1:
            print('*', end='')
        else:
            print(' ', end='')
    print() # 换行

for i in range(1, bottom_row+1):
    for j in range(1, i+1):
        print(' ', end='')
    for k in range(1, 2*bottom_row-2*i+2):
        if k==1 or k==2*bottom_row-2*i+2-1:
            print('*', end='')
        else:
            print(' ', end='')
    print()